﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Collections.Specialized;
using System.Web.UI.WebControls;
using System.Linq.Expressions;

namespace Mvc.XForms.UI {
	/// <summary>
	/// An interface for sorted parameters for use with the HTML grid
	/// </summary>
	public interface ISortedParameters {
		/// <summary>
		/// The key of the NameValueCollection that corresponds to the value
		/// of the sort expression
		/// </summary>
		string SortExpressionKey { get; }

		/// <summary>
		/// The key of the NameValueCollection that corresponds to the value
		/// of the sort direction
		/// </summary>
		string SortDirectionKey { get; }

		/// <summary>
		/// A string representation of a lambda expression denoting
		/// the current sort expression. eg: "ID" or "Planet.Name"
		/// </summary>
		string SortExpression { get; }

		/// <summary>
		/// The current sort direction
		/// </summary>
		SortDirection SortDirection { get; }
	}
}